﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;
using System.Data.SqlClient;

using Padelcenter.Common;

namespace Padelcenter.DataAccess
{
    #region " SELECT "
    #region " EstadoPedido Select "
    public class EstadoPedido_Select_Prm
    {
        public EstadoPedido_Select_Prm(EstadoPedido estadoPedido)
        {
            this.EstadoPedido = estadoPedido;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idEstadoPedido"     , this.EstadoPedido.IdEstadoPedido),
                new SqlParameter( "@ConFiltroActivo"    , this.EstadoPedido.ConFiltroActivo),
                new SqlParameter( "@Activo"             , this.EstadoPedido.Activo),
            };

            this.Parameters = parameters;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    public class EstadoPedido_Select : DataAccessBase
    {
        public EstadoPedido_Select()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedido_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedido_Select_Prm estadoPedido_Select_Prm = new EstadoPedido_Select_Prm(this.EstadoPedido);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedido_Select_Prm.Parameters);

            return ds;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }
    }
    #endregion
    #region " EstadoPedidoDescripcion Select "
    public class EstadoPedidoDescripcion_Select : DataAccessBase
    {
        public EstadoPedidoDescripcion_Select()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedidoDescripcion_SELECT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedidoDescripcion_Select_Prm estadoPedidoDescripcion_Select_Prm = new EstadoPedidoDescripcion_Select_Prm(this.EstadoPedidoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedidoDescripcion_Select_Prm.Parameters);

            return ds;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }
    }
    
    public class EstadoPedidoDescripcion_Select_Prm
    {
        public EstadoPedidoDescripcion_Select_Prm(EstadoPedidoDescripcion estadoPedidoDescripcion)
        {
            this.EstadoPedidoDescripcion = estadoPedidoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idEstadoPedido"     , this.EstadoPedidoDescripcion.EstadoPedido.IdEstadoPedido),
                new SqlParameter( "@idIdioma"           , this.EstadoPedidoDescripcion.Idioma.IdIdioma)
            };

            this.Parameters = parameters;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }
        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    #endregion
    #endregion

    #region " INSERT "
    #region " EstadoPedido Insert "
    public class EstadoPedido_Insert_Prm
    {
        public EstadoPedido_Insert_Prm(EstadoPedido estadoPedido)
        {
            this.EstadoPedido = estadoPedido;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@Descripcion"        , this.EstadoPedido.Descripcion),
                new SqlParameter( "@Activo"             , this.EstadoPedido.Activo)
            };

            this.Parameters = parameters;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    public class EstadoPedido_Insert : DataAccessBase
    {
        public EstadoPedido_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedido_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedido_Insert_Prm estadoPedido_Insert_Prm = new EstadoPedido_Insert_Prm(this.EstadoPedido);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedido_Insert_Prm.Parameters);

            return ds;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }
    }
    #endregion
    #region " EstadoPedido Descripcion Insert "
    public class EstadoPedidoDescripcion_Insert_Prm
    {
        public EstadoPedidoDescripcion_Insert_Prm(EstadoPedidoDescripcion estadoPedidoDescripcion)
        {
            this.EstadoPedidoDescripcion = estadoPedidoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idEstadoPedido" , this.EstadoPedidoDescripcion.EstadoPedido.IdEstadoPedido),
                new SqlParameter( "@idIdioma"       , this.EstadoPedidoDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"    , this.EstadoPedidoDescripcion.Descripcion)
            };

            this.Parameters = parameters;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    public class EstadoPedidoDescripcion_Insert : DataAccessBase
    {
        public EstadoPedidoDescripcion_Insert()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedidoDescripcion_INSERT.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedidoDescripcion_Insert_Prm estadoPedidoDescripcion_Insert_Prm = new EstadoPedidoDescripcion_Insert_Prm(this.EstadoPedidoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedidoDescripcion_Insert_Prm.Parameters);

            return ds;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }
    }
    #endregion
    #endregion

    #region " UPDATE "
    #region " EstadoPedido Update "
    public class EstadoPedido_Update_Prm
    {
        public EstadoPedido_Update_Prm(EstadoPedido estadoPedido)
        {
            this.EstadoPedido = estadoPedido;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idEstadoPedido"     , this.EstadoPedido.IdEstadoPedido), 
                new SqlParameter( "@Descripcion"        , this.EstadoPedido.Descripcion),
                new SqlParameter( "@Activo"             , this.EstadoPedido.Activo)
            };

            this.Parameters = parameters;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    public class EstadoPedido_Update : DataAccessBase
    {
        public EstadoPedido_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedido_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedido_Update_Prm estadoPedido_Update_Prm = new EstadoPedido_Update_Prm(this.EstadoPedido);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedido_Update_Prm.Parameters);

            return ds;
        }

        private EstadoPedido _estadoPedido;

        public EstadoPedido EstadoPedido
        {
            get { return _estadoPedido; }
            set { _estadoPedido = value; }
        }
    }
    #endregion
    #region " EstadoPedido Descripcion Update "
    public class EstadoPedidoDescripcion_Update_Prm
    {
        public EstadoPedidoDescripcion_Update_Prm(EstadoPedidoDescripcion estadoPedidoDescripcion)
        {
            this.EstadoPedidoDescripcion = estadoPedidoDescripcion;
            this.BuildParams();
        }

        private void BuildParams()
        {
            SqlParameter[] parameters = 
            {
                new SqlParameter( "@idEstadoPedido" , this.EstadoPedidoDescripcion.EstadoPedido.IdEstadoPedido),
                new SqlParameter( "@idIdioma"       , this.EstadoPedidoDescripcion.Idioma.IdIdioma),
                new SqlParameter( "@Descripcion"    , this.EstadoPedidoDescripcion.Descripcion)
            };

            this.Parameters = parameters;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }

        private SqlParameter[] _parameters;

        public SqlParameter[] Parameters
        {
            get { return _parameters; }
            set { _parameters = value; }
        }
    }
    public class EstadoPedidoDescripcion_Update : DataAccessBase
    {
        public EstadoPedidoDescripcion_Update()
        {
            base.StoredProcedureName = StoredProcedure.Name.EstadoPedidoDescripcion_UPDATE.ToString();
        }

        public DataSet Get()
        {
            DataSet ds;

            EstadoPedidoDescripcion_Update_Prm estadoPedidoDescripcion_Update_Prm = new EstadoPedidoDescripcion_Update_Prm(this.EstadoPedidoDescripcion);
            DataBaseHelper dbhelper = new DataBaseHelper(StoredProcedureName);
            ds = dbhelper.Run(base.ConnectionString, estadoPedidoDescripcion_Update_Prm.Parameters);

            return ds;
        }

        private EstadoPedidoDescripcion _estadoPedidoDescripcion;

        public EstadoPedidoDescripcion EstadoPedidoDescripcion
        {
            get { return _estadoPedidoDescripcion; }
            set { _estadoPedidoDescripcion = value; }
        }
    }
    #endregion
    #endregion
}
